package com.cx.anno;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class StreamCreation {
    public static void main(String[] args) {
        // 从集合创建 Stream
        List<String> list = Arrays.asList("apple", "banana", "cherry");
        Stream<String> streamFromList = list.stream();
        streamFromList.map(map -> map.getBytes().toString()).forEach(System.out::println);

        // 从数组创建 Stream
        String[] array = {"apple", "banana", "cherry"};
        Stream<String> streamFromArray = Arrays.stream(array);

        // 使用 Stream 的静态方法创建 Stream
        Stream<String> streamFromStatic = Stream.of("apple", "banana", "cherry");

        // 从文件创建 Stream（需要引入 java.nio.file 包）
        // Stream<String> streamFromFile = Files.lines(Paths.get("file.txt"));

        // 创建一个包含整数的列表
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
        // 使用流将列表中的元素相加，初始值为0
        int sum = numbers.stream()
                        .reduce(10, (a, b) -> a + b);
        // 输出结果
        System.out.println(sum);
    }


}